草庐IT

JavaScript setTimeout 无法访问函数变量

全部标签

javascript - D3.js ~ 有没有办法将 csv header 值访问到下拉列表中?

我正在构建一个交互式图表,因为轴的值有两个标题值。如果我可以从下拉菜单或类似的菜单中选择轴值,那就更好了。我不知道是否可以访问我的csv的header值,就像它们是数组的一部分一样,所以我可以制作一个下拉菜单以供选择。给定一个包含许多header值的.csv,并且它们都是字符串,是否可以通过使用d3.csv.formatRows(rows)来实现这一点?我试图在回调函数中使用它:varheader=d3.csv("MyCsvFile.csv").formatRows(0);console.log(header);但是没用。我什至不确定我是否使用了正确的功能,或者是否有这样做的功能!任何

Javascript 作用域和变量

varname="Bob";varbook={name:"HarryPotter",writeName:function(){returnfunction(){document.writeln(this.book.name);}}};当我调用它时book.writeName()();我想让它打印HarryPotter(不是Bob),但这是:varbook2=book;book=null;book2.writeName()();现在在应该寻找this.book2的地方寻找this.book(它是null)如何引用变量? 最佳答案 这里

javascript - javascript中的变量范围混淆

这个问题在这里已经有了答案:WhatisthescopeofvariablesinJavaScript?(27个答案)关闭8年前。我在研究JS中变量作用域的概念,在上面找到了这个例子:(function(){varfoo=1;functionbar(){varfoo=2;}bar();console.log(foo)//outputs1if(true){varfoo=3;}console.log(foo)//outputs3})();这个函数的输出是13现在我很困惑为什么foo在第二个日志中获取值3。即使在if语句中使用var声明了foo。在if中声明的foo不应该在bar()中有一个

javascript - 在加载所有任务之前不会设置 Grunt 环境变量

我正在使用npm模块gruntenv和load-grunt-config在我的项目中。gruntenv为您处理环境变量,而load-grunt-config处理,嗯,为您加载grunt配置。您可以将您的任务放入其他文件中,然后load-grunt-config会将它们打包并让grunt为您加载和使用它们。您还可以创建一个aliases.js文件,其中包含您希望将任务组合在一起的任务,一个接一个地运行。它类似于grunt.registerTask原始Gruntfile.js中的任务。我将所有grunt任务放在根文件夹下的一个单独的grunt/文件夹中,其中包含主要的Gruntfile,没

javascript - 将服务变量绑定(bind)到指令?

我有一个Controller,它包含一个从服务器获取一些数据的函数。我将该数据存储在服务变量中。然后将此服务注入(inject)到指令中。我希望在调用此函数并更新数据时自动更新指令。我的Controller:angular.module('myApp').controller('myCtrl',['$scope','SomeService',function($scope,SomeService){$scope.update=function(){SomeService.myValue=100;}}]);指令:angular.module('myApp').directive('myD

javascript - 如何从 Selenium 中调用 JavaScript 函数?

我需要从Firefox中的SeleniumWebDriver调用JavaScript函数。登录到我的网站后,我在Firebug的命令编辑器中使用此命令来调用文件上传应用程序:infoPanel.applicationManager.changeApp('FileUploader',{action:'new'})有没有办法从Selenium执行此操作? 最佳答案 试试这个:WebDriverdriver=newChromeDriver();((JavascriptExecutor)driver).executeScript("your

javascript - 调用不带括号的函数会将整个函数作为字符串返回

我创建了一个这样的JavaScript对象:varobj={a:10,b:20,add:function(){returnthis.a+this.b;}};我以obj.add的形式执行函数,它以字符串a的形式返回整个函数,如下所示:function(){returnthis.a+this.b;}Butlater,Itriedtocallthefunctionagain,includingtheparentheses,like`obj.add()`anditreturnsthevalue`30`.Icouldn’tfigureoutwhyIgetsuchadifferentoutputu

javascript - 绑定(bind)到 Javascript 事件的函数的执行顺序

我正在搜索有关绑定(bind)到javascript页面事件的函数执行顺序的详细信息,例如通过EventListener。例如,如果我将三个函数A()、B()和C()绑定(bind)到同一个事件(比如DOMContentLoaded),这三个函数的执行顺序是什么?根据JS代码中addEventListener调用的先后顺序来一一对应?或者它们是同时执行的?另外,我可以修改这个订单吗?例如,让绑定(bind)到DOMContentLoaded事件监听器的函数在绑定(bind)到同一事件的任何其他函数之前执行。 最佳答案 事件处理程序总

javascript - react类中的成员变量引用为 "shared"

当我创建一个React类的多个实例时(通过在同一个类上使用React.createElement),一些成员变量在实例之间共享(数组和对象是共享的,字符串和bool值等不是)。对我来说,这感觉很可怕、很可怕​​而且是错误的。这是一个错误还是有其他方法可以做我想做的事?请看:http://jsbin.com/kanayiguxu/1/edit?html,js,console,output 最佳答案 您应该做的是在组件上设置状态,而不是将状态作为React组件上的任意属性。所以不要这样做:varMyComponent=React.cre

javascript - 无法读取未定义的 Javascript 的属性 'push'

这个问题在这里已经有了答案:TypeError:Cannotreadproperty'push'ofundefined,JavaScript(2个答案)关闭7年前。嗨,我好像无法插入我的阵列?代码:$scope.arrResult=[];dpd.timesheets.get(function(result){console.log(result);for(i=0,n=result.length;i我得到这个控制台错误UncaughtTypeError:Cannotreadproperty'push'ofundefined如果我设置$scope.arrResult[item.week].